const express = require("express");
const app = express();

// 不使用 app.use调用的中间件，叫做局部中间件
const mv1 = (req, res, next) => {
  console.log("this is the first partial middleware");
  next();
};

const mv2 = (req, res, next) => {
  console.log("this is the second partial middleware");
  next();
};

// 两个中间件，可以放在数组里， [mv1, mv2]， 然后再传入数组，也可分别传入
// app.get("/", [mv1, mv2], (req, res) => {
//   res.send("this is home page for partial middleware");
// });
app.get("/", mv1, mv2, (req, res) => {
  res.send("this is home page for partial middleware");
});

app.get("/user", (req, res) => {
  res.send("this is the user page withour middleware");
});

// 一定要在路由前注册中间件， 可以连续调用多个中间件
// 一定要记得调用next(), 否则后面的函数无法执行
// next()调用之后， 中间件内部不应该再写额外的代码
// 多个中间件之间， 共享req和res对象

app.listen(80, () => {
  console.log("server is running for partial middleware");
});
